/**
 * edurender
 * Types.h
 * (c) 2009 J. Brad Byrd
 */

#ifndef ER_TYPES_H
#define ER_TYPES_H

namespace er
{
	typedef unsigned char UInt8;
	typedef signed char Int8;
	typedef unsigned __int16 UInt16;
	typedef __int16 Int16;
	typedef unsigned __int32 UInt32;
	typedef __int32 Int32;
	typedef unsigned __int64 UInt64;
	typedef __int64 Int64;
	
	struct ColorF
	{
		float r;
		float g;
		float b;
		float a;

		ColorF() : r(0.0f), g(0.0f), b(0.0f), a(1.0f) {}
		ColorF(float r, float g, float b, float a = 1.0f) : r(r), g(g), b(b), a(a) {}
	};
	
	struct Color
	{
		UInt8 r;
		UInt8 g;
		UInt8 b;
		UInt8 a;
		
		Color() : r(0), g(0), b(0), a(255) {}
		Color(UInt8 r, UInt8 g, UInt8 b, UInt8 a = 255) : r(r), g(g), b(b), a(a) {}
	};
};

#endif // ER_TYPES_H
